package de.mmis.core.base.gui;

import javax.swing.JPanel;

/**
 * Component displaying a control panel for manipulating a specific device. Please note that it is presumed for all GUI components to have an parameterless, empty constructor. All initialization work can be done in the initialize method.
 * @author Christian Koch
 *
 * @param <D> type of device controlled by this component
 */
public interface DeviceControlComponent<D> extends GUIComponent<D>
{
	/**
	 * @param clazz type of object
	 * @return true, if this component is applicable to an object of given type, otherwise false
	 */
	public boolean isApplicableForControlling(Class<?> clazz);

	public JPanel getControlPanel();
}
